home *** CD-ROM | disk | FTP | other *** search
- 1.0 16-08-92
-
- --- First release to the unsuspecting public.
- Sent to SIMTEL and comp.binaries.os2.
-
- 1.1 17-05-93
-
- --- Bug fixes:
- o A file with no end of line character on the last line, the last
- line would not be included in the file.
- o Characters that are in blocks retain their highlighting now.
- o Fixed schange under DOS and OS/2. Cursor is now positioned
- correctly.
- o Writing out a file will now produce an error if the disk is
- full and not write part of the file.
- o GET and PUT now recognise ~ in Unix version.
- o PREFIX ON now no longer requires the LEFT|RIGHT option. Defaults
- to LEFT.
- o TABPRE (to tab between main and prefix areas) now does nothing
- if PREFIX is OFF.
- o 'bleeding' through of one file to another on BSDish systems now
- fixed.
- --- New commands:
- o BOX BLOCK COPY/MOVE/DELETE/FILL/OVERLAY
- o LINE BLOCK COPY/MOVE/DELETE
- o FILLBox
- o sos_makecurr
- o [SET] DIRInclude
- o [D]OSNowait/[D]OSQuiet
- o = (re-execute command)
- o [SET] CMDArrows
- o [SET] CMDline
- o [SET] NEWlines
- o [SET] MSGMode
- o [SET] MACROPath
- o [SET] IMPMACro
- o [SET] NUMber
- o [SET] HEX
- o [SET] CLEARScreen
- o [SET] Point
- o [SET] REXXOUTput
- o [SET] CLOCK
- o [SET] HEXDISPlay
- o SOS DOPREfix
- o the target ALL has been implemented. This is NOT the ALL command.
- o MACRO - execute commands from a file
- o UPPercase, LOWercase
- o SHift
- o DUPlicate
- o EXPand
- o STATus
- o Query
- o EMSG
- o SUSPend
- o REDRAW
- o MODIFY
- o TEXT
- o prefix commands: a,i,c,m,d,",<,>,/,cc,mm,dd,"",<<,>>,.xxxxx
- --- Changed commands:
- o insertmode now requires a parameter: ON|OFF|TOGGLE
- o spltjoin now correctly aligns the new line under the focus line
- o sos_* commands have been changed to separate sos commands
- o REFRESH command now consistant with XEDIT and KEDIT. Use REDRAW
- for old REFRESH functionality.
- --- New features:
- o REXX support under OS/2 and Unix(with Regina 0.05)
- o argument passing to REXX macros/profiles
- o EXTRACT
- o Capture REXX trace and Say output to a file in the ring.
- --- Commands removed (temporarily)
- o SCREEN
-
- 1.2 27-06-93 (Not officially released)
-
- --- Bug fixes:
- o Previous command line contents were remaining when 'sos undo' was
- executed on command line.
- o THE core dumped when a 'DELETE' command was present in a profile file.
- o THE now displays line numbers > 32k correctly.
- o Display of long filename in window wider than 80 chars now correct.
- o [SET] CURLine now works when called from a profile file
- --- New commands:
- --- Changed commands:
- --- New features:
- o THE now handles either forward (/) or back (\) slashes in path
- names and converts them automatically. So you can specify d:/path
- under DOS and OS/2 or \usr\bin under Unix. All paths are displayed
- on the idline with the default OS path separator.
- o added new external function, valid_target() to simplify REXX macros
- o added new single character indicator on right end status line to
- indicate if REXX support is present.
- Meanings of indicators:
- First character: (colour support)
- C - curses library supports colour and so does monitor
- c - curses library supports colour but monitor doesn't
- M - curses library does not support colour
- Second character: (REXX support)
- R - THE compiled with REXX support
- - (blank) THE compiled without REXX support
-
- 1.3 15-08-93
-
- --- Bug fixes:
- o Fixed bug with line block delete and cursor positioning.
- o number of files being editted no longer gets out of sync when
- an attempt to edit a new file is aborted (usually because line
- is too long)
- o Fixed bug in uppercase/lowercase when target was "BLOCK".
- o sos tabwordb, sos tabwordf, and sos delword now correctly go the
- start/end of the word if that word exceeds the width of the screen.
- --- New commands:
- o SOS CURSORAdj
- o SOS DELWord
- o [SET] MARgins
- o [SET] WORDWrap
- o SPlit
- o Join
- --- New features:
- o Changed the highlighting of "non-printable characters" under Unix.
- o emx 0.8g compiler support now working (excluding REXX)
- o wordwrap has been added
- --- Changes:
- o The names of environment variables and the location of default
- help and profile files has changed. See the file appendix.1 or
- Appendix 1 of the.man for details.
-
- 1.4 01-09-93 (Not officially released)
-
- --- Bug fixes:
- o Changed the method for determining the filename of a backup file
- under OS/2. Originally, if drive type not = FAT, .bak was
- appended to full file name. Now only if drive type = HPFS is
- .bak appended.
- o Alteration count was being set to zero when saving a file and the
- file could not be saved.
- o Fixed a few minor bugs in DUPLICATE command.
- --- New commands:
- o Added support for semi-colon specifying an absolute line target
- --- Changed commands:
- --- New features:
- o Added support for ncurses under linux. ncurses still has a bug
- (I believe) that causes some characters to not be cleared.
- o emx 0.8g port now has REXX support
- o DUPLICATE 1 BLOCK assigned to Alt-D (DOS/OS2) and ControlD (UNIX)
- --- Changes:
-
-
- 1.5 01-12-93
-
- --- Bug fixes:
- o It is now possible to issue the commands; EDIT,THE and XEDIT
- from within a macro or profile file.
- o [SET] CASE settings now inherited by subsequent files editted.
- o [SET] CASE now does not reset settings to default if they are
- not specified; it leaves the values as they were last set.
- o default value for ZONE end is now the maximum line width not
- 32766 (maximum possible line length)
- o Bug in CHANGE command.
- If specifying a trailing space to change a string at the end of
- a line to null, one too many characters were removed.
- eg. c/_N // * 1 a line ending in abc_N ended up ending
- in ab
- When changing text at the end of a line and specify more than
- one space at the end of the target, the target is never found.
- eg. c/_N // * 1 a line ending in abc_N will not be found
- Handling of spaces after the real end of the line handled
- correctly now.
- o Fixed a bug on Unix systems where a key that returned nul would
- execute 'add 1'.
- o Changed the default handling of 'sos delback' and 'sos delchar'
- under UNIX.
- The default key sequences of these keys has been reversed. If you
- prefer to keep the old definitions, define OLD_DELCHAR_DELBACK on
- the compile line. This option will disappear in a future version
- so if you are really attached to the old behaviour, you had
- better let me know and have a good reason :-) Thanks to Andreas
- Schott for pointing this out!
- o Added SRC line to makefile for SystemVR4 block.
- o The default value for THE_HOME_DIR under Unix is /opt/THE, if
- SYSVR4 is defined when compiling or /usr/local/THE otherwise. The
- major change is the uppercasing of THE (THE's correct acronym)
- o [SET] MACROPATH now sets the correct path value.
- o Fixed bug with prefix command like 'aa'. The A command would be
- executed with a large number of lines added or you would get
- a core dump :-(
- o After bringing a suspended THE session to the foreground, THE
- correctly refreshes.
- o When shelling out, the screen attributes are returned to NORMAL,
- at least on some platforms;
- o Fixed the occasional strange behaviour of the command line having
- some of the contents of the prefix area. (It was VERY obscure!)
- o SOS DELWORD would increment ALT and not allow SOS UNDO to work.
- o C-ENTER now valid for DOS and OS/2 versions.
- o Ignore any command issued from a macro file if no more files are
- left in the ring.
- o Changed the method for splitting a path and filename under DOS and
- OS/2. Hopefully fewer problems with ending up in the wrong
- directory. This has also worked around the bug in BCOS2.
- o Reexecute command,= should now reexecute the last statement
- correctly.
- o Printing under Unix more than once now works.
- o Fixed a few bugs with PUT and GET.
- --- New commands:
- o Added TERMINAL, LASTMSG, MONITOR, POINT [*], PREFIX [SYNONYM name|*]
- PENDING, GETENV and BLOCK extract
- options.
- o Added REXX macro for summing the contents of a marked BOX block.
- o Added REXX macro for matching paired words like #ifdef/#endif.
- o Added SORT command.
- o Added [SET] LINEND command to support multiple commands on a line.
- o Added [SET] ETMODE to indicate if extended characters should be
- displayed. This is designed to handle foreign languages that use
- the ASCII characters > 127.
- o Added [SET] NONDisp to specify what character is displayed if
- extended characters are not to be displayed.
- o Added [SET] PENDing to assist with writing block prefix macros.
- o Added [SET] IMPOS/IMPcmscp to allow operating system commands
- to be executed from the command line without the need to prefix
- the command with OS or !.
- o Added COMMAND command (Just for Ian Collier ;-))
- --- Changed commands:
- o Added extra argument to [SET] CASE to determine case significance
- in SORT command.
- o The order of EXTRACT /VERSION/ and QUERY VERSION options has
- changed.
- o BOTTOM command makes the last line of the file the current line
- instead of the *** Bottom of file *** line.
- o INPUT [text] command results in the line becoming the current
- line instead of the previous line, when issued from the command
- line.
- o Overhaul of commands that add a new line to fix a few bugs.
- o STATUS now displays in 3 columns; I was starting to run out of
- space with 2 columns. The item name is also highlighted.
- o When compiled with REXX support, [SET] PREFIX now supports
- prefix synonyms.
- o PUT and PUTD now work with BLOCK as the target.
- o [SET] TABKey changed to be simpler.
- o [SET] ARBchar, TABSIn, TABSOut changed to allow their second
- parameters to be specified with the OFF option.
- o STATus command now has optional filename parameter.
- o [SET] TABS now has 'INCR' as first operand when EXTRACTing or
- Querying the value.
- o MODIFY/QUERY of CMDLINE does not contain 2nd operand. This value
- is only returned as a result of EXTRACT.
- o There is no need to supply a final '/' with the EXTract command.
- --- New features:
- o REXX support for DOS is now available. This version, supplied as
- a separate archive, contains the THE executable linked with a DOS
- port of Regina. This version contains a DOS extender, so only runs
- on 386s or above. This version was compiled with DJGPP, a DOS port
- of GNU gcc. Included is go32.exe, which is the DOS extender.
- o By default all THE macros are expected to have a file name ending
- in ".the". The value for the macro file extension can be changed
- with the [SET] MACROEXT command. This default extension is only
- applicable to macros searched for in the THE_MACRO_PATH.
- o Added defines.h to specify limits which can be safely changed in
- the source code.
- o Added ability to execute multiple commands from command line and
- to assign multiple commands to a key.
- o Now have the option to display extended ASCII codes on Unix
- platforms.
- o Prefix macros can now be executed. Thanks to Dave Rittenhouse
- (david@ecst.csuchico.edu) for adding this feature.
- o Prefix synonyms are also definable for REXX macros and standard
- prefix commands.
- o THE now compiles and runs with BCOS2.
- o Added -n command line switch to enable THE to be run without
- any profile file.
- --- Warnings:
- o There is an inconsistancy with Regina 0.05h in that the use of
- implied extract with some functions will corrupt values in THE.
- Implied extract functions that have been observed to corrupt, are
- fname.1() and fpath.1().
-
-
- 2.0 26-01-95
-
- --- Bug fixes:
- o Fixed cursor positioning error when screen was an odd number of
- columns wide.
- o Fixed problem with previous file's contents and command line
- remaining displayed when editting another file. (Only reported
- under AIX).
- o Changed code again to handle multiple commands on the command
- line AND to ignore commands issued when no files are in the
- ring (excluding any 'edit' commands).
- o Fixed DEFINE to not clear a key defintion until the validation
- of the new command(s) was complete.
- o Fixed problem with core dumps when a command was passed to the
- operating system from within a profile file.
- o Fixed bug in CURLINE when specfying a negative position. (Due to
- changing unsigned char to char)
- o Fixed bug in displaying extended characters in ETMODE.
- o Fixed bug in executing prefix commands after a TABPRE command.
- o Fixed bug in SHIFT LEFT when the length of the line being
- shifted was < first column of ZONE.
- o Text entered into the main window is displayed with the correct
- attributes.
- o Fixed bug in entering prefix commands when in the last column
- of the prefix area; the cursor would wrap to the next line; now
- it stays in the last column of the prefix area.
- o extracting values using an item abbreviation would result in
- the REXX macro being set to the abbreviation rather than the
- full name of the item. The full name of the extracted item is
- now used.
- o fixed a bug when moving a box block.
- o SPLIT, JOIN, and SPLTJOIN did not account for any pending
- prefix commands or marked block.
- o Changed all references to keyboard return values from short to
- int. This is for support of DEC OSF/1 platform.
- o The use of hex strings as an argument to the TEXT command
- defined to a key, caused problems. ie DEFINE F1 TEXT X'84'
- was altered after the first use of F1 key.
- --- New commands:
- o Added [SET] DISPLAY, SELECT, SHADOW, SCOPE.
- o Added ALL command.
- o Added CURSOR command.
- o Added LEFT, RIGHT and RGTLEFT commands.
- o Added CURSOR option to EXTRACT command.
- o Added TABL,SCALE,X,XX,S prefix commands.
- o Added [SET] RESERved , [SET] SCALE and [SET] TABLine commands.
- o Added [SET] COMPAT command, to attempt to mimic the default
- behaviour of XEDIT and KEDIT.
- o Added extra SOS commands:
- LEFTEDGE,RIGHTEDGE,PREFIX,QCMND,TABFIELDF,TABFIELDB,
- FIRSTCHAR,FIRSTCOL,LASTCOL,BOTTOMEDGE,TOPEDGE,CURRENT,
- MARGINL,MARGINR,PARINDENT,TABB.
- o Added new macros, rm.the to delete from disk the file on
- the focus line of the DIR.DIR file, and words.the to count
- the number of words to a target.
- o Added COLUMN and WORD options to MARK command.
- o added READV to enable a REXX macro to obtain keystrokes from THE.
- o added [SET] TYPEAHEAD, [SET] HEXSHOW commands
- o added [SET] STATUSLINE, [SET] MSGLINE, [SET] IDLINE commands
- o added [SET] POSITION command
- --- Changed commands or behaviour:
- o Default command for Alt-M/Ctrl-V is now MOVE BLOCK RESET not
- MOVE BLOCK.
- o FORward 0 now makes the "Top of File" line the current line.
- o BACkward 0 now makes the last line of the file the current line.
- o When the "Bottom of File" line is the current line, FORward
- will make the "Top of File" line the current line. Similarly
- for BACkward when on "Top of File".
- o [SET] CMDline OFF option added.
- o [SET] ARBchar now supports multiple character matches
- o In previous versions of THE, any line in a macro file, or
- profile file, that began with '/*' was treated as a comment
- line and the line ignored. For implementations of THE without
- REXX support, execution of a REXX macro caused mayhem. To
- overcome this situation, any macro file that is used with THE
- without REXX support must have as its first line the following
- string starting in column 1:
- /*NOREXX*/
- All other comments throughout the file can be valid REXX
- comments (ie. start and end with /* */)
- o A new boolean function incommand() has been added which
- has the same functionality of the previous command(). The
- boolean command() function now returns 1 if the command
- line is on.
- o Reinstated SOS EXECUTE command.
- o the valid_target() external function now returns two values;
- the first line affected by the target and the number of
- lines affected by the target. If the target is an invalid target
- ERROR is returned. If the target is valid, but the target is
- not found, NOTFOUND is returned. Sample macros altered to use
- new features.
- o NEXT and UP commands do not support negative relative targets.
- eg. NEXT -5 , UP -* are now invalid commands. This is to be
- consistent with XEDIT and KEDIT.
- o ADD command now can be specified as just "A" and when issued
- from the command line, moves the cursor to the first blank line
- added.
- o The default behaviour of the ENTER key has changed. When the
- ENTER key is hit while in the prefix area, if there are any
- pending prefix commands, they are executed, otherwise the cursor
- is moved to the first line of the next line as it used to do.
- o [SET] TABSIN ON in the profile file will not increment the
- ALT count, nor include the changed lines in the recovery list.
- o The SOS ENDCHAR command was incorrect in that it would move the
- cursor to the start of a line if the cursor was past the end of
- the line as well as moving the cursor to the end of the line if
- it wasn't past the end of the line. The correct behaviour of
- SOS ENDCHAR is to move to the end of the focus line no matter
- where the cursor currently is. For those of you (like me) who
- are used to the old behaviour of SOS ENDCHAR, a new SOS command;
- STARTENDCHAR has been added to THE.
- o [SET] BACKUP now has TEMP and KEEP options.
- o The FILE command behaviour has been changed. Previous versions
- would not write out a new version of the file if the alteration
- count was zero and no filename was specified. FILE now behaves
- the same as XEDIT and KEDIT.
- o Added ability to specify individual tab columns in SET TABS
- command.
- --- New features:
- o Changed the method of displaying the screen. This was done to
- cater for shadow, tab,scale and reserved lines and to increase
- performance.
- o Added "-r" command line switch to operate THE in readonly mode.
- This is a real readonly mode; it is not possible to change the
- contents of the file.
- o Repeating targets with boolean operators are now supported.
- o The targets BLANK and ~BLANK are now supported.
- o A command can now follow a target on the command line without
- requiring a linend character separating the target and command.
- eg. :3 del
- is a valid command. You can even enter
- 3 3 3 3
- on the command line to move the current line 12 lines.
- o Colour settings are now stored with the file, so different files
- can have different colours.
- o Wordwrap behaves like KEDIT wordwrapping. When the right-most
- character of the line exceeds the right margin, the last word
- wraps to the next line.
- o No limit (apart from available memory) on the number of prefix
- commands that may be entered. Used to be a limit of 20.
- o Key names no longer need to be expressed in exact case. C-A and
- c-a are equivalent. Also, where appropriate, keys have the same
- name across platforms.
- o THE now can be compiled with AIX Extended Curses. This enables
- colour support when run in an aixterm window.
- --- Known Bugs
- o [SET] ARBCHAR accepts the multiple matches argument but it is
- not implemented in target searches.
- o Problem with display and editting of 1 file in split screen
- mode sometimes.
- o MOVE BLOCK when the marked block is in a different file to
- the current file results in deletion of 1 line fewer from
- the source file. Cursor can also be left below the Bottom of File
- marker.
- o DUPLICATE BLOCK when issued with the a portion of the marked block
- not being displayed on the bottom of the screen can result in the
- cursor being moved to the current line rather than the screen
- scrolling.
- o move block when the target line is the last line of the screen
- causes the cursor to be positioned incorrectly
- o if any of [SET] SCALE, TABL, RESERVED or HEXSHOW are positioned
- on the current line row, then scrolling the screen up when
- the cursor is on the "*** Bottom of File ***" line does not work.
- o behaviour of prefix commands does not match XEDIT behaviour
-
- todo (-) or done (*) not in any particular order
- * change *.hlp files to add select, display,scope, reserved, all
- as they become available
- * add colour support to Reserved
- * fix colour support - change PDCurses :-(
- * add full target parsing for all commands that use targets
- - support multiple arbchar matches in all string targets and in
- change command - memfind to return length of string found
- - check all commands do as much processing as possible from
- within a macro. only thing NOT to do is display the screen
- all commands should also only NOT execute curses commands if
- curses_started is FALSE.
- * fix named line targets when they are before the current line
- - bug when 2 screens displayed, one file, and a macro with 'qq'
- and 'x a.a' is executed. The first screen has a.a displayed,the
- second screen points to junk and crashes. Need to support an
- edit of one file to be displayed in both screens.
- * bug with "define A-A text x'84'" convert_hex_string() must
- return a separate pointer as the pointer passed to it can be
- the parameters to a defined key, and hence the value gets
- corrupted.
- - bug in move block from one file to another. removes 1 line less
- from source file than it should. also cursor position of source
- file can be left below the last line of the file.
- - bug with 'duplicate block' when block is on the bottom of screen;
- current line gets contents of block
- * copying a line block with embedded shadow line is all wrong
- either with marked block or prefix commands
- * complete MARK WORD support
- * sort - how do excluded lines get sorted out ?
- * append.the, comm.the and uncomm.the require changes in use of
- valid_target().
- * add to defines.h those #defines like NO_KEYPAD, NO_CURS_SET etc
- * make return from my_getch() int rather than short, also any key
- number should be int, not short (for DEC OSF/1)
- * determine why Solaris 2.3 version of THE and Regina 0.07a do
- not work with subcommands.
- This is a bug in Regina 0.07a - fixed.
- * determine why Esix optimised version fails with target searches
- - adjust focus line of other screen when 2 views of same screen
- are displayed and lines are added/deleted in current screen.
- * add EXTRACT /CURSOR/
- - add EXTRACT /FOCUS/ - maybe
- * add SOS TABB
- - COPY and MOVE commands to be consistent (add targets to MOVE)
- - change MACRO command to first look for keynames and execute
- command associated with keyname before looking for a macro file.
- - support READV CMDLINE option
- * complete EXTRACT CURSOR to return valid values for screen position
- - sos delword - cursor incorrectly positioned when verify column
- not column 1
- * COPY BLOCK with cursor on *** Bottom of File *** causes block
- to be copied AFTER *** Bottom of File *** line.
- - NEXTWINDOW command to clean up before it switches to another
- view when screen is split.
- * when entering characters into the current line with HEXSHOW ON
- does not update the HEXSHOW line.
- - Fix up warning messages when compiling with strict ANSI compiler.
- - Change DIR.DIR and REXX output file to be 'pseudo' files.
- - Allow all commands in profile file - need to run initscr() earlier
- - Add column commands CLOCATE,CINSERT,etc..
- * Be consistant with key names, so the same key name can be
- specified for all platforms. Other options:
- o Possibly change key handling to use curses getch() and
- terminfo/termcap instead of handling escape sequences myself.
- o Have [SET] KEYBIND command.
- - Provide REXX support under DOS with interface to Personal REXX.
- * Add LEFT and RIGHT commands and VERSHIFT variable.
- - Add REPEAT command
- - Add [SET] RANge
- * Complete the AIX Extended Curses version.
- - Still some cursor positioning bugs with prefix block deletes.
- - Add synonyms for commands
- - Printing with OS/2 version still doesn't work correctly.
- - Use Instore option on RexxStart() to execute in-memory macros
- eg. "define ENTER if command() Then 'sos execute'; Else
- Do 'cursor cmdline';'sos doprefix'; End"
- - add COMPRESS command (opposite of EXPAND)
- * change all calls to display error to indicate if bell to sound
- if on (n lines changed does NOT ring bell)
- - improve performance when editing large files
-